package com.ctshk.rpc.train.service;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.PageResponse;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.train.dto.TrainProductDetailDTO;
import com.ctshk.rpc.train.dto.TrainProductManagePageDTO;
import com.ctshk.rpc.train.dto.TrainProductStrategyDTO;
import com.ctshk.rpc.train.req.TrainProductPageReq;
import com.ctshk.rpc.train.req.TrainProductStrategyReq;
import com.ctshk.rpc.train.req.TrainProductStrategySaveBatchReq;

import java.util.List;

/**
 * <p>
 * 火车票产品加幅策略 服务类
 * </p>
 *
 * @author 彭柳霖
 * @since 2021-03-15
 */
public interface ITrainProductStrategyService{

    /**
     * 产品中心-分页查询巴士产品列表
     * @param trainProductPageReq
     * @return
     */
    PageResponse<TrainProductManagePageDTO> queryList(TrainProductPageReq trainProductPageReq);


    /** 火车票产品加幅保存 */
    Result save(Long trainProductId, List<TrainProductStrategyReq> trainProductStrategyReqList, Long userId);


    /** 火车票产品批量加幅保存 */
    Result saveBatch(TrainProductStrategySaveBatchReq trainProductStrategySaveBatchReq, Long userId);

    /**
     * 根据产品id查询产品加幅详情信息
     * @param productId
     * @return
     */
    List<TrainProductStrategyDTO> queryByProductId(Long productId);


    /**
     * 产品中心-查询详情
     * @param productId
     * @return
     */
    Result<TrainProductDetailDTO> selectDetail(Long productId);


}
